﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CCPnuts.Pack;

namespace CCPnuts.IFileSplit.Interfaces
{
    /// <summary>
    /// The viewer of a info file.
    /// </summary>
    public interface I_Viewer : I_Interface
    {
        #region Essential Members

        /// <summary>
        /// Gets the size of each split file.
        /// </summary>
        int SplitSize { get; }

        /// <summary>
        /// Gets the count of part files.
        /// </summary>
        int Count { get; }

        /// <summary>
        /// Gets a Array of the part files.
        /// </summary>
        string[] PartFileNames { get; }

        /// <summary>
        /// Gets the name of the source File.
        /// </summary>
        string FileName { get; }

        /// <summary>
        /// Gets the size of the source file.
        /// </summary>
        string FileSize { get; }

        #endregion

    }

    /// <summary>
    /// The static & cons. members of Viewer.
    /// </summary>
    public interface S_Viewer : S_Interface
    {
        I_Viewer _Cons(string infoFilePath);
    }

    public static partial class InterfaceManager
    {
        public static S_Viewer Viewer { internal get; set; }
    }
}
